package com.army.stock.dao;

import com.army.stock.domain.ArmyMonthplan;
import com.army.stock.domain.ArmyMonthplanItem;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface ArmyMonthplanDao {

    public List<ArmyMonthplan> getArmyMonthPlans(Map<String, Object> param);

    public Integer getCountArmyMonthPlan(Map<String, Object> map);

    public Integer updateArmyMonthPlan(Map<String, Object> map);

    public Integer getCountArmyMonthPlanItems(Map<String, Object> map);

    public void insertAmryMonthPlan(ArmyMonthplan armyMonthplan);

    public void insertAmryMonthPlanItem(ArmyMonthplanItem armyMonthplanItem);

    public void updateAmryMonthPlanItem(ArmyMonthplanItem armyMonthplanItem);

    public Integer deleteArmyMonthPlanItem(ArmyMonthplanItem armyMonthplanItem);

    public Integer deleteAllArmyMonthPlanItems(Long monthPlanId);

    public ArmyMonthplan getArmyMonthPlanById(Long id);

    public List<Map> getArmyMonthplanItems(Map map);

    public List<Map> getAllArmyMonthplanItems(Map map);

    public Map<String, Object> getArmyMonthplanItemByGoodId(Map map);

    public Integer updateArmyMonthPlanItem(Map map);

    //整理月度计划总的金额
    public void cleanArmyMonthPlanAmount(Long monthPlanId);

    public Integer getCountArmymonthplansFinance(Map map);

    public List getArmyMonthplansMapList(Map map);

    //查看相关的库存统计
    public List getArmyMonthItemForStorage(Map map);

    //库存统计总的大小
    public Integer getCountArmyMonthItemForStorage(Map map);

    public List<Map> getmonthplanssummary(Map map);

    public BigDecimal getSummonthplanssummary(Map map);

    //减少月度明细的数据
    public Integer decreaseArmyMonthPlanItem(Map map);

}
